package com.example.xpvideo.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 商品表(Commodity)实体类
 *
 * @author 杨丽辉
 * @since 2021-07-15 15:24:58
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Commodity implements Serializable {
    private static final long serialVersionUID = 310405018070854872L;
        /**
    *主键
    * ${column.comment}
    * isnull 1
    */
        private Integer commodityId;

    /**
    * 商品介绍
    * isnull 0
    */            private String commodityInfo;
    /**
    * 商品名
    * isnull 0
    */            private String commodityName;
    /**
    * 商品主图路径
    * isnull 0
    */            private String commodityMainPic;
    /**
    * 商品状态0为未发布上架状态,1为发布上架状态，2一次审核中，3一次审核拒绝,4商品下架，5二次审核中，6二次审核拒绝
    * isnull 0
    */            private String commodityStage;
    /**
    * 一级分类Id
    * isnull 0
    */            private Integer commodityTypeId;
    /**
    * 商品二级分类id
    * isnull 0
    */            private Integer commodityTypeTwoId;
    /**
    * 商品主类id
    * isnull 0
    */            private Integer belongId;
    /**
    * 商品规格列表
    * isnull 0
    */            private String sku;
    /**
    * 商品具体规格
    * isnull 0
    */            private String skuValue;
    /**
    * 商品轮播图
    * isnull 0
    */            private String commodityBannerPics;
    /**
    * 商品详情图文
    * isnull 0
    */            private String commodityDetails;
    /**
    * 商品库存
    * isnull 0
    */            private Integer commodityTotalNum;
    /**
    * 商品原价
    * isnull 0
    */            private BigDecimal commodityCostPrice;
    /**
    * 商品供货价
    * isnull 0
    */            private BigDecimal commoditySupplyPrice;
    /**
    * 销量
    * isnull 0
    */            private Integer salesVolume;
    /**
    * 商品热度
    * isnull 0
    */            private Integer isHot;
    /**
    * 商品创建时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime creatTime;
    /**
    * 商品下架时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime shutTime;
    /**
    * 商品上架时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime shelfTime;
    /**
    * 商品收藏数量
    * isnull 0
    */            private Integer collectCount;
    /**
    * 商品综合评分
    * isnull 0
    */            private Integer evaluate;
    /**
    * 物流运费
    * isnull 0
    */            private BigDecimal freightPrice;
    /**
    * 是否包邮，0不包邮，1包邮
    * isnull 0
    */            private Integer isExemption;
    /**
    * 是否参与秒杀，0未参与，1参与，2过期，3不参与秒杀
    * isnull 0
    */            private Integer isSeckill;
    /**
    * 秒杀价格
    * isnull 0
    */            private BigDecimal seckillPrice;
    /**
    * 秒杀开始时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime seckillStartTime;
    /**
    * 秒杀结束时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime seckillEndTime;
    /**
    * 秒杀库存
    * isnull 0
    */            private Integer seckillTotalNum;
    /**
    * 是否允许拼购，0不允许，1正在拼购，2拼购过期
    * isnull 0
    */            private Integer isGroup;
    /**
    * 拼购价格
    * isnull 0
    */            private BigDecimal groupPrice;
    /**
    * 拼购开始时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime groupStartTime;
    /**
    * 拼购结束时间
    * isnull 0
    */        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
            private LocalDateTime groupEndTime;
    /**
    * 拼购库存
    * isnull 0
    */            private Integer groupTotalNum;
    /**
    * 秒杀初始销量
    * isnull 0
    */            private Integer seckillInitNum;
    /**
    * 发货地
    * isnull 0
    */            private String shippingAddress;
    /**
    * 上传的用户id
    * isnull 0
    */            private Integer customerId;
    /**
    * 是否为推荐商品，0否，1是
    * isnull 0
    */            private Integer isRecommend;
    /**
    * 是否开启分销，0未开启，1已开启
    * isnull 0
    */            private Integer isProfit;
    /**
    * 1级分销比例
    * isnull 0
    */            private BigDecimal commodityFirstRank;
    /**
    * 2级分销比例
    * isnull 0
    */            private BigDecimal commoditySecondRank;
    /**
    * 商户id
    * isnull 0
    */            private Integer merchantsId;
        
    public Integer getCommodityId() {
        return commodityId;
    }

    public void setCommodityId(Integer commodityId) {
        this.commodityId = commodityId;
    }
        
    public String getCommodityInfo() {
        return commodityInfo;
    }

    public void setCommodityInfo(String commodityInfo) {
        this.commodityInfo = commodityInfo;
    }
        
    public String getCommodityName() {
        return commodityName;
    }

    public void setCommodityName(String commodityName) {
        this.commodityName = commodityName;
    }
        
    public String getCommodityMainPic() {
        return commodityMainPic;
    }

    public void setCommodityMainPic(String commodityMainPic) {
        this.commodityMainPic = commodityMainPic;
    }
        
    public String getCommodityStage() {
        return commodityStage;
    }

    public void setCommodityStage(String commodityStage) {
        this.commodityStage = commodityStage;
    }
        
    public Integer getCommodityTypeId() {
        return commodityTypeId;
    }

    public void setCommodityTypeId(Integer commodityTypeId) {
        this.commodityTypeId = commodityTypeId;
    }
        
    public Integer getCommodityTypeTwoId() {
        return commodityTypeTwoId;
    }

    public void setCommodityTypeTwoId(Integer commodityTypeTwoId) {
        this.commodityTypeTwoId = commodityTypeTwoId;
    }
        
    public Integer getBelongId() {
        return belongId;
    }

    public void setBelongId(Integer belongId) {
        this.belongId = belongId;
    }
        
    public String getSku() {
        return sku;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }
        
    public String getSkuValue() {
        return skuValue;
    }

    public void setSkuValue(String skuValue) {
        this.skuValue = skuValue;
    }
        
    public String getCommodityBannerPics() {
        return commodityBannerPics;
    }

    public void setCommodityBannerPics(String commodityBannerPics) {
        this.commodityBannerPics = commodityBannerPics;
    }
        
    public String getCommodityDetails() {
        return commodityDetails;
    }

    public void setCommodityDetails(String commodityDetails) {
        this.commodityDetails = commodityDetails;
    }
        
    public Integer getCommodityTotalNum() {
        return commodityTotalNum;
    }

    public void setCommodityTotalNum(Integer commodityTotalNum) {
        this.commodityTotalNum = commodityTotalNum;
    }
        
    public BigDecimal getCommodityCostPrice() {
        return commodityCostPrice;
    }

    public void setCommodityCostPrice(BigDecimal commodityCostPrice) {
        this.commodityCostPrice = commodityCostPrice;
    }
        
    public BigDecimal getCommoditySupplyPrice() {
        return commoditySupplyPrice;
    }

    public void setCommoditySupplyPrice(BigDecimal commoditySupplyPrice) {
        this.commoditySupplyPrice = commoditySupplyPrice;
    }
        
    public Integer getSalesVolume() {
        return salesVolume;
    }

    public void setSalesVolume(Integer salesVolume) {
        this.salesVolume = salesVolume;
    }
        
    public Integer getIsHot() {
        return isHot;
    }

    public void setIsHot(Integer isHot) {
        this.isHot = isHot;
    }
        
    public LocalDateTime getCreatTime() {
        return creatTime;
    }

    public void setCreatTime(LocalDateTime creatTime) {
        this.creatTime = creatTime;
    }
        
    public LocalDateTime getShutTime() {
        return shutTime;
    }

    public void setShutTime(LocalDateTime shutTime) {
        this.shutTime = shutTime;
    }
        
    public LocalDateTime getShelfTime() {
        return shelfTime;
    }

    public void setShelfTime(LocalDateTime shelfTime) {
        this.shelfTime = shelfTime;
    }
        
    public Integer getCollectCount() {
        return collectCount;
    }

    public void setCollectCount(Integer collectCount) {
        this.collectCount = collectCount;
    }
        
    public Integer getEvaluate() {
        return evaluate;
    }

    public void setEvaluate(Integer evaluate) {
        this.evaluate = evaluate;
    }
        
    public BigDecimal getFreightPrice() {
        return freightPrice;
    }

    public void setFreightPrice(BigDecimal freightPrice) {
        this.freightPrice = freightPrice;
    }
        
    public Integer getIsExemption() {
        return isExemption;
    }

    public void setIsExemption(Integer isExemption) {
        this.isExemption = isExemption;
    }
        
    public Integer getIsSeckill() {
        return isSeckill;
    }

    public void setIsSeckill(Integer isSeckill) {
        this.isSeckill = isSeckill;
    }
        
    public BigDecimal getSeckillPrice() {
        return seckillPrice;
    }

    public void setSeckillPrice(BigDecimal seckillPrice) {
        this.seckillPrice = seckillPrice;
    }
        
    public LocalDateTime getSeckillStartTime() {
        return seckillStartTime;
    }

    public void setSeckillStartTime(LocalDateTime seckillStartTime) {
        this.seckillStartTime = seckillStartTime;
    }
        
    public LocalDateTime getSeckillEndTime() {
        return seckillEndTime;
    }

    public void setSeckillEndTime(LocalDateTime seckillEndTime) {
        this.seckillEndTime = seckillEndTime;
    }
        
    public Integer getSeckillTotalNum() {
        return seckillTotalNum;
    }

    public void setSeckillTotalNum(Integer seckillTotalNum) {
        this.seckillTotalNum = seckillTotalNum;
    }
        
    public Integer getIsGroup() {
        return isGroup;
    }

    public void setIsGroup(Integer isGroup) {
        this.isGroup = isGroup;
    }
        
    public BigDecimal getGroupPrice() {
        return groupPrice;
    }

    public void setGroupPrice(BigDecimal groupPrice) {
        this.groupPrice = groupPrice;
    }
        
    public LocalDateTime getGroupStartTime() {
        return groupStartTime;
    }

    public void setGroupStartTime(LocalDateTime groupStartTime) {
        this.groupStartTime = groupStartTime;
    }
        
    public LocalDateTime getGroupEndTime() {
        return groupEndTime;
    }

    public void setGroupEndTime(LocalDateTime groupEndTime) {
        this.groupEndTime = groupEndTime;
    }
        
    public Integer getGroupTotalNum() {
        return groupTotalNum;
    }

    public void setGroupTotalNum(Integer groupTotalNum) {
        this.groupTotalNum = groupTotalNum;
    }
        
    public Integer getSeckillInitNum() {
        return seckillInitNum;
    }

    public void setSeckillInitNum(Integer seckillInitNum) {
        this.seckillInitNum = seckillInitNum;
    }
        
    public String getShippingAddress() {
        return shippingAddress;
    }

    public void setShippingAddress(String shippingAddress) {
        this.shippingAddress = shippingAddress;
    }
        
    public Integer getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Integer customerId) {
        this.customerId = customerId;
    }
        
    public Integer getIsRecommend() {
        return isRecommend;
    }

    public void setIsRecommend(Integer isRecommend) {
        this.isRecommend = isRecommend;
    }
        
    public Integer getIsProfit() {
        return isProfit;
    }

    public void setIsProfit(Integer isProfit) {
        this.isProfit = isProfit;
    }
        
    public BigDecimal getCommodityFirstRank() {
        return commodityFirstRank;
    }

    public void setCommodityFirstRank(BigDecimal commodityFirstRank) {
        this.commodityFirstRank = commodityFirstRank;
    }
        
    public BigDecimal getCommoditySecondRank() {
        return commoditySecondRank;
    }

    public void setCommoditySecondRank(BigDecimal commoditySecondRank) {
        this.commoditySecondRank = commoditySecondRank;
    }
        
    public Integer getMerchantsId() {
        return merchantsId;
    }

    public void setMerchantsId(Integer merchantsId) {
        this.merchantsId = merchantsId;
    }

        @Override
    public String toString() {
        return "{" +
                    " \"commodityId\":" + commodityId +
                                  " ,\"commodityInfo\":" + commodityInfo +
                            " ,\"commodityName\":" + commodityName +
                            " ,\"commodityMainPic\":" + commodityMainPic +
                            " ,\"commodityStage\":" + commodityStage +
                            " ,\"commodityTypeId\":" + commodityTypeId +
                            " ,\"commodityTypeTwoId\":" + commodityTypeTwoId +
                            " ,\"belongId\":" + belongId +
                            " ,\"sku\":" + sku +
                            " ,\"skuValue\":" + skuValue +
                            " ,\"commodityBannerPics\":" + commodityBannerPics +
                            " ,\"commodityDetails\":" + commodityDetails +
                            " ,\"commodityTotalNum\":" + commodityTotalNum +
                            " ,\"commodityCostPrice\":" + commodityCostPrice +
                            " ,\"commoditySupplyPrice\":" + commoditySupplyPrice +
                            " ,\"salesVolume\":" + salesVolume +
                            " ,\"isHot\":" + isHot +
                            " ,\"creatTime\":" + creatTime +
                            " ,\"shutTime\":" + shutTime +
                            " ,\"shelfTime\":" + shelfTime +
                            " ,\"collectCount\":" + collectCount +
                            " ,\"evaluate\":" + evaluate +
                            " ,\"freightPrice\":" + freightPrice +
                            " ,\"isExemption\":" + isExemption +
                            " ,\"isSeckill\":" + isSeckill +
                            " ,\"seckillPrice\":" + seckillPrice +
                            " ,\"seckillStartTime\":" + seckillStartTime +
                            " ,\"seckillEndTime\":" + seckillEndTime +
                            " ,\"seckillTotalNum\":" + seckillTotalNum +
                            " ,\"isGroup\":" + isGroup +
                            " ,\"groupPrice\":" + groupPrice +
                            " ,\"groupStartTime\":" + groupStartTime +
                            " ,\"groupEndTime\":" + groupEndTime +
                            " ,\"groupTotalNum\":" + groupTotalNum +
                            " ,\"seckillInitNum\":" + seckillInitNum +
                            " ,\"shippingAddress\":" + shippingAddress +
                            " ,\"customerId\":" + customerId +
                            " ,\"isRecommend\":" + isRecommend +
                            " ,\"isProfit\":" + isProfit +
                            " ,\"commodityFirstRank\":" + commodityFirstRank +
                            " ,\"commoditySecondRank\":" + commoditySecondRank +
                            " ,\"merchantsId\":" + merchantsId +
                  '}';
    }


}
